//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package org.yaukie.base.core.entity;

import java.util.Arrays;
import org.yaukie.base.core.BaseEntity;

public class XRole extends BaseEntity {
    private static final long serialVersionUID = 1L;
    private Long roleId;
    private String roleName;
    private String roleKey;
    private String roleSort;
    private String dataScope;
    private boolean menuCheckStrictly;
    private boolean deptCheckStrictly;
    private String status;
    private String delFlag;
    private boolean flag = false;
    private Long[] menuIds;
    private Long[] deptIds;

    public XRole() {
    }

    public XRole(Long roleId) {
        this.roleId = roleId;
    }

    public Long getRoleId() {
        return this.roleId;
    }

    public String getRoleName() {
        return this.roleName;
    }

    public String getRoleKey() {
        return this.roleKey;
    }

    public String getRoleSort() {
        return this.roleSort;
    }

    public String getDataScope() {
        return this.dataScope;
    }

    public boolean isMenuCheckStrictly() {
        return this.menuCheckStrictly;
    }

    public boolean isDeptCheckStrictly() {
        return this.deptCheckStrictly;
    }

    public String getStatus() {
        return this.status;
    }

    public String getDelFlag() {
        return this.delFlag;
    }

    public boolean isFlag() {
        return this.flag;
    }

    public Long[] getMenuIds() {
        return this.menuIds;
    }

    public Long[] getDeptIds() {
        return this.deptIds;
    }

    public void setRoleId(final Long roleId) {
        this.roleId = roleId;
    }

    public void setRoleName(final String roleName) {
        this.roleName = roleName;
    }

    public void setRoleKey(final String roleKey) {
        this.roleKey = roleKey;
    }

    public void setRoleSort(final String roleSort) {
        this.roleSort = roleSort;
    }

    public void setDataScope(final String dataScope) {
        this.dataScope = dataScope;
    }

    public void setMenuCheckStrictly(final boolean menuCheckStrictly) {
        this.menuCheckStrictly = menuCheckStrictly;
    }

    public void setDeptCheckStrictly(final boolean deptCheckStrictly) {
        this.deptCheckStrictly = deptCheckStrictly;
    }

    public void setStatus(final String status) {
        this.status = status;
    }

    public void setDelFlag(final String delFlag) {
        this.delFlag = delFlag;
    }

    public void setFlag(final boolean flag) {
        this.flag = flag;
    }

    public void setMenuIds(final Long[] menuIds) {
        this.menuIds = menuIds;
    }

    public void setDeptIds(final Long[] deptIds) {
        this.deptIds = deptIds;
    }

    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof XRole)) {
            return false;
        } else {
            XRole other = (XRole)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                Object this$roleId = this.getRoleId();
                Object other$roleId = other.getRoleId();
                if (this$roleId == null) {
                    if (other$roleId != null) {
                        return false;
                    }
                } else if (!this$roleId.equals(other$roleId)) {
                    return false;
                }

                Object this$roleName = this.getRoleName();
                Object other$roleName = other.getRoleName();
                if (this$roleName == null) {
                    if (other$roleName != null) {
                        return false;
                    }
                } else if (!this$roleName.equals(other$roleName)) {
                    return false;
                }

                Object this$roleKey = this.getRoleKey();
                Object other$roleKey = other.getRoleKey();
                if (this$roleKey == null) {
                    if (other$roleKey != null) {
                        return false;
                    }
                } else if (!this$roleKey.equals(other$roleKey)) {
                    return false;
                }

                label94: {
                    Object this$roleSort = this.getRoleSort();
                    Object other$roleSort = other.getRoleSort();
                    if (this$roleSort == null) {
                        if (other$roleSort == null) {
                            break label94;
                        }
                    } else if (this$roleSort.equals(other$roleSort)) {
                        break label94;
                    }

                    return false;
                }

                label87: {
                    Object this$dataScope = this.getDataScope();
                    Object other$dataScope = other.getDataScope();
                    if (this$dataScope == null) {
                        if (other$dataScope == null) {
                            break label87;
                        }
                    } else if (this$dataScope.equals(other$dataScope)) {
                        break label87;
                    }

                    return false;
                }

                if (this.isMenuCheckStrictly() != other.isMenuCheckStrictly()) {
                    return false;
                } else if (this.isDeptCheckStrictly() != other.isDeptCheckStrictly()) {
                    return false;
                } else {
                    label77: {
                        Object this$status = this.getStatus();
                        Object other$status = other.getStatus();
                        if (this$status == null) {
                            if (other$status == null) {
                                break label77;
                            }
                        } else if (this$status.equals(other$status)) {
                            break label77;
                        }

                        return false;
                    }

                    Object this$delFlag = this.getDelFlag();
                    Object other$delFlag = other.getDelFlag();
                    if (this$delFlag == null) {
                        if (other$delFlag != null) {
                            return false;
                        }
                    } else if (!this$delFlag.equals(other$delFlag)) {
                        return false;
                    }

                    if (this.isFlag() != other.isFlag()) {
                        return false;
                    } else if (!Arrays.deepEquals(this.getMenuIds(), other.getMenuIds())) {
                        return false;
                    } else if (!Arrays.deepEquals(this.getDeptIds(), other.getDeptIds())) {
                        return false;
                    } else {
                        return true;
                    }
                }
            }
        }
    }

    protected boolean canEqual(final Object other) {
        return other instanceof XRole;
    }

    public int hashCode() {
        int result = 1;
        Object $roleId = this.getRoleId();
        result = result * 59 + ($roleId == null ? 43 : $roleId.hashCode());
        Object $roleName = this.getRoleName();
        result = result * 59 + ($roleName == null ? 43 : $roleName.hashCode());
        Object $roleKey = this.getRoleKey();
        result = result * 59 + ($roleKey == null ? 43 : $roleKey.hashCode());
        Object $roleSort = this.getRoleSort();
        result = result * 59 + ($roleSort == null ? 43 : $roleSort.hashCode());
        Object $dataScope = this.getDataScope();
        result = result * 59 + ($dataScope == null ? 43 : $dataScope.hashCode());
        result = result * 59 + (this.isMenuCheckStrictly() ? 79 : 97);
        result = result * 59 + (this.isDeptCheckStrictly() ? 79 : 97);
        Object $status = this.getStatus();
        result = result * 59 + ($status == null ? 43 : $status.hashCode());
        Object $delFlag = this.getDelFlag();
        result = result * 59 + ($delFlag == null ? 43 : $delFlag.hashCode());
        result = result * 59 + (this.isFlag() ? 79 : 97);
        result = result * 59 + Arrays.deepHashCode(this.getMenuIds());
        result = result * 59 + Arrays.deepHashCode(this.getDeptIds());
        return result;
    }

    public String toString() {
        return "XRole(roleId=" + this.getRoleId() + ", roleName=" + this.getRoleName() + ", roleKey=" + this.getRoleKey() + ", roleSort=" + this.getRoleSort() + ", dataScope=" + this.getDataScope() + ", menuCheckStrictly=" + this.isMenuCheckStrictly() + ", deptCheckStrictly=" + this.isDeptCheckStrictly() + ", status=" + this.getStatus() + ", delFlag=" + this.getDelFlag() + ", flag=" + this.isFlag() + ", menuIds=" + Arrays.deepToString(this.getMenuIds()) + ", deptIds=" + Arrays.deepToString(this.getDeptIds()) + ")";
    }
}
